package cn.tedu.inter2;
/**本类用于进一步测试接口的使用*/
/**1.当一个类没有明确指定父类的情况下，默认的父类是顶级父类Object*/
/**2.问题：接口实现类实现接口中没有构造方法
 * 那接口实现类为什么能创建对象？子类构造中的首行不是要调用super()吗？
 * 答案：父级接口并不是类，接口没有构造函数，实际实现类调用的super()
 * 指的是继承的父类的无参构造，如果没有明确指定父类，那就调用的是顶级
 * 父类Object中的无参构造
 * */
public class TestUserInter {
    public static void main(String[] args) {
        System.out.println(Inter2.age);//测试静态
        Inter2Impl i2=new Inter2Impl();

//        System.out.println(i2.age);
//        i2.age=100;测试常量
    }


}
interface Inter2{
    /**4.接口中都是抽象方法，而且public与abstract可以简写*/
    public abstract void eat();
    void play();
    /**1.接口中有构造方法吗？---没有！！！*/
    //public Inter2(){}
    /**3.接口中有成员变量吗？--没有！！！*/
    /**3.1接口中的变量实际上是静态常量，因为可以通过接口名直接调用
     * 3.2接口中的变量实际上是静态常量，因为final不能被重新赋值
     * 3.3接口中的都是静态常量static 与 final可以简写，会自动拼接*/
    int age=10;
}
class Inter2Impl extends Object implements Inter2 {
    public Inter2Impl(){
        super();
        System.out.println("我是实现类的构造方法");
    }

    public void eat() {
        System.out.println("马上就要干饭了");
    }

    public void play() {
        System.out.println("中午休息的时候甚至能玩一把代码");
    }
}